\documentclass[15pt,a4paper]{article}

%use the english line for english reports
%usepackage[english]{babel}
\usepackage[portuguese]{babel}
\usepackage[utf8]{inputenc}
\usepackage{indentfirst}
\usepackage{graphicx}
\usepackage{verbatim}
\usepackage[table]{xcolor}

\begin{document}

\setlength{\textwidth}{16cm}
\setlength{\textheight}{22cm}

\title{\Huge\textbf{LAIG - Terceiro Projecto}\linebreak\linebreak\linebreak
\Large\textbf{Manual de Utilização}\linebreak\linebreak
\includegraphics[height=6cm, width=7cm]{feup.pdf}\linebreak \linebreak
\Large{Mestrado Integrado em Engenharia Informática e Computação} \linebreak \linebreak
\Large{Programação em Lógica}\linebreak
}

\author{\textbf{Grupo 04:}\\ Miguel Regala - 09128 \\ José Bateira - 10133 \\\linebreak\linebreak \\
 \\ Faculdade de Engenharia da Universidade do Porto \\ Rua Roberto Frias, s\/n, 4200-465 Porto, Portugal \linebreak\linebreak\linebreak
\linebreak\linebreak\vspace{1cm}}
%\date{Junho de 2007}
\maketitle
\thispagestyle{empty}

%************************************************************************************************
%************************************************************************************************

\newpage

\section*{Resumo}
Este relatório tem o objectivo de documentar a implementação final da interface grafica em openGL na cadeira de LAIG, para o jogo de tabuleiro previamente desenvolvido, conhecido por \textit{Cannon: The Emperor’s Game}.

Pretende-se descrever sucintamente as regras do jogo e como utilizar a aplicação.

\newpage

\tableofcontents

%************************************************************************************************
%************************************************************************************************

%*************************************************************************************************
%************************************************************************************************

\newpage

\section{Introdução}
\subsection{Motivação}
O \textit{Cannon} é um jogo com regras muito simples e que, devido a isso, obriga o jogador a concentrar-se nas estratégias complexas que podem ser formadas. Para além do mais, o jogo em si é muito interessante e único, por combinar características de vários jogos de tabuleiro.
Os autores deste trabalho desconheciam o jogo e após algumas pesquisas na Web puderam constatar que existem poucas aplicações do jogo que lhe façam justiça, quer em termos de qualidade como em características open-source, sendo mais uma motivação extra para realizar um bom trabalho. 


\section{Descrição do Problema}
\subsection{Introdução}
O \textit{Cannon} foi publicado pela primeira vez em 2003. É um jogo de tabuleiro de duração curta, tirando grandes inspirações nos jogos de tabuleiros tradicionais como as damas e o xadrez. É jogado por duas pessoas.

\subsection{Regras do jogo}
As regras são muito simples. Cada jogador tem direito a 15 peças, denominadas de \textit{Soldados} e a mais uma, a \textit{Base}. O \textit{Canhão}, não é uma peça por si só, mas uma combinação de 3 \textit{Soldados}, dispostos em linha ortogonal ou oblíqua. Os movimentos das peças são descritos a seguir.

O objectivo do jogo é o de conquistar a peça \textit{Base} do adversário, ou eliminando todos os \textit{Soldados}. Analogamente às damas, a conquista de uma peça é feita através de uma jogada em que o destino seja uma célula adjacente preenchida por um \textit{Soldado} inimigo, ou disparando uma bala do \textit{Canhão} a uma curta distância.

\subsection{Tipos de peças}
\subsubsection{Soldados}
O \textit{Soldado} é a unidade básica do jogo. Esta peça pode mover-se da seguintes formas:

\begin{figure}[h!]
\begin{center}
%escolher entre uma das seguintes três linhas:
%\includegraphics[height=20cm,width=15cm]{path relativo da imagem}
\includegraphics[scale=0.5]{graphics/soldiermove.png}
%\includegraphics{path relativo da imagem}
\caption{Para a frente, uma célula, nas direcções N, NE, NW}
\label{fig:soldiermove}
\end{center}
\end{figure}

Num caso especial, o \textit{Soldado} pode recuar. Isto acontece quando um Soldado inimigo se encontra numa célula adjacente.

\begin{figure}[h!]
\begin{center}
%escolher entre uma das seguintes três linhas:
%\includegraphics[height=20cm,width=15cm]{path relativo da imagem}
\includegraphics[scale=0.5]{graphics/soldierRetreat.png}
%\includegraphics{path relativo da imagem}
\caption{Para trás, 2 células, obrigatoriamente desocupadas}
\label{fig:soldiermove2}
\end{center}
\end{figure}

\subsubsection{Canhões}
Quando temos 3 peças adjacentes, dispostas obliquamente ou de forma ortogonal, estas representam um \textit{Canhão} que permitem ao jogador “matar” \textit{Soldados} inimigos que coincidam com a linha formada pelas peças, com um alcance de 2 a 3 células.

\begin{figure}[h!]
\begin{center}
%escolher entre uma das seguintes três linhas:
%\includegraphics[height=20cm,width=15cm]{path relativo da imagem}
\includegraphics[scale=0.5]{graphics/cannonshot.png}
%\includegraphics{path relativo da imagem}
\caption{Alcance de 2 a 3 células}
\label{fig:cannon}
\end{center}
\end{figure}

A formação \textit{Canhão} pode deslocar-se, uma célula, ao longo da linha que é definida:
\begin{figure}[h!]
\begin{center}
%escolher entre uma das seguintes três linhas:
%\includegraphics[height=20cm,width=15cm]{path relativo da imagem}
\includegraphics[scale=0.5]{graphics/cannonshift.png}
%\includegraphics{path relativo da imagem}
\caption{Movimento tipo “lagarta” do \textit{Canhão}}
\label{fig:cannon2}
\end{center}
\end{figure}

\subsubsection{Cidades}
As cidades são representadas pelas peças quadradas dispostas inicialmente na primeira linha de cada jogador.

\section{Uso da aplicação - I}

\subsection{Pré-Requesitos}
A interface gráfica foi desenvolvida para a arquitectura Windows e testada em Windows XP 32 bits e Windows 7 32 bits, utilizando o Visual Studio 2010 como IDE.
Adicionalmente, é preciso ter a biblioteca GLUT instalada e uma cópia do arquivo ws2\_32.lib (winsock library).

\subsection{Build e Compilação}
É fornecido um ficheiro .vcxproject que deve ser aberto com o VS2010. Todas as opções de compilaçao e linking extra estão lá gravadas, para a aplicação correr.
Carregar em F5 para iniciar o processo de build.

\section{Uso da aplicação - II}

\subsection{Jogando o Cannon}
A interface é simples e straightforward. Basta clicar na peça que se pretende mover e clicar numa nova célula que indique o destino. Se a jogada for válida, o jogo recebe um novo tabuleiro e troca-se de jogador.
Por convenção, o jogador um joga com as peças brancas e o jogador dois com as peças escuras.

\section{Ligação com prolog? sockets?}

\subsection{Conclusões}
O primeiro facto a retirar deste trabalho, para além dos conhecimentos obtidos é a gestão de tempo. O nosso trabalho foi entregue após a data por não termos conseguido acompanhar e desenvolver o trabalho seguindo as datas de limite.
Certamente, isso é a primeira coisa a corrigir. Também podemos apontar que o código desenvolvido podia ser repensado em algumas secções, de forma a ter predicados mais genéricos e evitar a proliferação de código repetido.
Neste momento, o nosso objectivo é começar o mais cedo possível o desenvolvimento da parte seguinte deste trabalho, de forma a poder recuperar o tempo e os pontos perdidos.

\clearpage
\addcontentsline{toc}{section}{Bibliografia}
\renewcommand\refname{Bibliografia}
\bibliographystyle{plain}
\bibliography{myrefs}


\end{document}